﻿using FirstTry.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.ServiceModel.Web;
using System.Transactions;
namespace FirstTry
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
    [ServiceContract]
    public interface IService1
    {
        [OperationContract]
        string getBatteryLocation(string ID);

        [OperationContract]
        string getLocationName(string ID);

        [OperationContract]
        Location getLocation(string ID);

        [TransactionFlow(TransactionFlowOption.Mandatory)]
        [OperationContract]
        void makeReservation(int y, int x, string userID);

        [OperationContract]
        List<Location> getAllLocation();

        [OperationContract]
        List<Battery> getBatteryByLocation(string locationID);

        [OperationContract]
        bool checkBatteryByLocation(int y, int x);

        [OperationContract]
        List<User> getAllUsers();

        [OperationContract]
        List<Battery> getAllBattery();

        [OperationContract]
        List<Leased> getAllLeased();

        [OperationContract]
        List<Reservation> getAllReservation();
    }
}
